package com.ynet.middleground.contract.service;

import java.util.List;

import javax.validation.Valid;

import com.ynet.core.common.ServiceResult;
import com.ynet.middleground.contract.bean.DeleteArchiveReq;
import com.ynet.middleground.contract.bean.EditArchiveReq;
import com.ynet.middleground.contract.bean.NewArchiveReq;
import com.ynet.middleground.contract.bean.QueryArchiveReq;
import com.ynet.middleground.contract.dto.ArchiveDto;

/**
 * @author daigaole
 * @description 档案管理服务接口
 * @date 2020-03-16
 */
public interface ArchiveManagementService {
    /**
     * 档案服务
     * 
     * @param requestObj 档案服务
     * @return 档案id
     * @author daigaole
     */
    ServiceResult<Integer> newArchive(@Valid NewArchiveReq requestObj);

    /**
     * 更新档案
     * 
     * @param requestObj 请求参数
     * @return 结果
     */
    ServiceResult<Boolean> editArchive(@Valid EditArchiveReq requestObj);

    /**
     * 档案查看
     * 
     * @param requestObj 档案查看
     * @return 档案信息
     * @author daigaole
     */
    ServiceResult<List<ArchiveDto>> queryArchive(@Valid QueryArchiveReq requestObj);

    /**
     * 删除档案服务
     * 
     * @param requestObj 档案服务
     * @return 档案信息
     * @author daigaole
     */
    ServiceResult<String> deleteArchive(@Valid DeleteArchiveReq requestObj);
}
